UNPKG

@alphabite/medusa-collection-images

Version:
98 lines 8.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PUT = exports.DELETE = exports.POST = void 0; const product_collection_image_1 = require("../../../../../modules/product-collection-image"); const utils_1 = require("@medusajs/framework/utils"); const POST = async (req, res) => { const logger = req.scope.resolve("logger"); const product_collection_id = req.params.id; const collectionImagesService = req.scope.resolve(product_collection_image_1.PRODUCT_COLLECTION_IMAGE_MODULE); const link = req.scope.resolve("link"); const urls = req.validatedBody.urls; const input = urls.map((img_url, i) => ({ product_collection_id, url: img_url, rank: i, })); try { const collection_images = await collectionImagesService.createProductCollectionImages(input); const mappedLinks = collection_images.map((image) => ({ product: { product_collection_id }, product_collection_image: { product_collection_image_id: image.id }, })); await link.create(mappedLinks); return res.status(201).json(collection_images); } catch (error) { logger.error("Creating Collection images record failed", error); return res.status(500).end(); } }; exports.POST = POST; const DELETE = async (req, res) => { const logger = req.scope.resolve("logger"); const link = req.scope.resolve("link"); const ids = req.validatedQuery.images_id; const query = req.scope.resolve("query"); const id = req.params.id; const collectionImagesService = req.scope.resolve(product_collection_image_1.PRODUCT_COLLECTION_IMAGE_MODULE); try { await collectionImagesService.deleteProductCollectionImages(ids); await link.delete({ product_collection_image: { product_collection_image_id: ids }, }); const { data } = (await query.graph({ entity: "product_category_images", filters: { product_category_id: id, }, fields: ["*"], pagination: { order: { rank: "asc", }, }, })); const updated_images_ranks = await (0, utils_1.promiseAll)(data .map(async (image, i) => { if (image.rank !== i) { return (await collectionImagesService.updateProductCollectionImages({ id: image.id, rank: i, }))[0]; } else return image; }) .filter((img) => img !== undefined)); return res.status(200).json(updated_images_ranks); } catch (error) { logger.error("Deleting Collection images record failed", error); return res.status(500).end(); } }; exports.DELETE = DELETE; const PUT = async (req, res) => { const logger = req.scope.resolve("logger"); const collectionImagesService = req.scope.resolve(product_collection_image_1.PRODUCT_COLLECTION_IMAGE_MODULE); const { images } = req.validatedBody; try { const updated_images = await (0, utils_1.promiseAll)(images .map(async ({ rank, id }) => { const updated_product_collection_image = await collectionImagesService.updateProductCollectionImages({ id, rank, }); return updated_product_collection_image; }) .filter(Boolean)); res.status(200).json(updated_images); } catch (error) { logger.error("Updating Collection images record failed", error); return res.status(500).end(); } }; exports.PUT = PUT; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Byb2R1Y3QtY29sbGVjdGlvbi9baWRdL2ltYWdlcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSw4RkFBa0c7QUFDbEcscURBQXVEO0FBRWhELE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBc0QsRUFDdEQsR0FBNkMsRUFDN0MsRUFBRTtJQUNGLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFFNUMsTUFBTSx1QkFBdUIsR0FDM0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ2YsMERBQStCLENBQ2hDLENBQUM7SUFFSixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV2QyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztJQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxxQkFBcUI7UUFDckIsR0FBRyxFQUFFLE9BQU87UUFDWixJQUFJLEVBQUUsQ0FBQztLQUNSLENBQUMsQ0FBQyxDQUFDO0lBRUosSUFBSSxDQUFDO1FBQ0gsTUFBTSxpQkFBaUIsR0FDckIsTUFBTSx1QkFBdUIsQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyRSxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEQsT0FBTyxFQUFFLEVBQUUscUJBQXFCLEVBQUU7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